Systems and methods for tracking objects in an environment

ABSTRACT

Systems and methods for locating and/or tracking objects in an environment are discussed. The system may include non-visible light emitters and a camera and server system including an image geometry module configured to determine the location of an identified object in the environment. Objects may be identified based on a predefined frequency and/or pattern of pulses.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 16/029,160 filedJul. 6, 2018, the content of which is hereby incorporated by referencein its entirety.

TECHNICAL FIELD

The present disclosure is directed towards locating and/or trackingobjects within an environment.

BACKGROUND

Conventional methods for tracking objects in an environment may includethe manual tagging of objects with a numbering system, a radio-frequencyidentification (RFID) tag, and/or a QR code. However, these methods donot provide information regarding the location of the objects before andafter the tag on the object is read. Furthermore, these approaches mayrequire that a tag reader is placed close to the object such that theobject's location may be recognized by a tracking system. However, theobjects may then move away from the tag reader and the object's locationmay no longer be accurately represented by the tracking system.

For example, in a car dealership a tag reader may be located at acentral location, and the location of the car after it's tag has beenscreened by the tag reader may not be made available to a cardealership.

SUMMARY

In some embodiments, the systems and methods disclosed herein mayprovide means for locating and/or tracking objects within anenvironment. In some embodiments, the disclosed systems and methods mayprovide means for locating and/or tracking objects within theenvironment for the entirety of the time the object is within theenvironment.

In some embodiments, a method may include the steps of transmitting, byan emitter, a signal having at least one of a predefined frequency andpredefined pattern, recording, by a camera device, the transmittedsignal and an environment, identifying, by at least one of the cameradevice and a server system, an object associated with the recordedsignal based on at least one of the predefined frequency and predefinedpattern of the signal and, determining, by the server system, thelocation of the identified object in the environment.

In some embodiments, the method may also include the step of generating,by the server system, a heat map comprising the determined location ofthe identified object in the environment, and/or generating, by theserver system, a recording of the determined location of the identifiedobject in the environment over time. In some embodiments determining thelocation of the identified object in the environment may includeimaging, by the camera device, a pre-configured object within theenvironment, identifying, by the server system, the location of apre-configured object within the environment, and determining, by theserver system, the location of the recorded signal relative to thelocation of the pre-configured object. In some embodiments, the methodmay also include the step of displaying the determined location of theidentified object on a user computing device. In some embodiments, thetransmitted signal may include non-visible spectrum light. In someembodiments, the method may include the step of storing the determinedlocation of the identified object in a database communicatively coupledto the server system. In some embodiments, the object is a vehicle.

In some embodiments, a system may include an emitter configured totransmit a signal having at least one of a predefined frequency andpredefined pattern, a camera device configured to record the transmittedsignal and an environment, and a server system comprising at least oneprocessor and non-transitory memory. The server system may be configuredto determine the location of an object associated with the recordedsignal within the environment.

In some embodiments at least one of the camera device and the serversystem of the system is configured to determine the object associatedwith the recorded signal. In some embodiments, the system includes adatabase configured to store the determined location of the objectassociated with the recorded signal within the environment. In someembodiments, the system includes a user interface configured to displaythe determined location of the object associated with the recordedsignal. In some embodiments, the server system is further configured togenerate at least one of a heat map comprising the determined locationof the object and a recording of the determined location of the objectover time. In some embodiments, the transmitted signal includesnon-visible spectrum light. In some embodiments, the object is avehicle. In some embodiments, a method may include a server receiving arecorded signal from a camera device having at least one of a predefinedfrequency and a predefined pattern, receiving a recording of anenvironment and determining the location of an identified object withinthe environment based on the received recorded signal and recording ofthe environment.

In some embodiments, the method may include identifying, by the server,an object associated with the recording signal based on at least one ofthe predefined frequency and the predefined pattern. The method may alsoinclude the step of generating, by the server, at least one of a heatmap comprising the determined location of the object and a recording ofthe determined location of the object over time. In some embodiments,the recorded signal may include non-visible spectrum light. In someembodiments, the identified object is a vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several embodiments and, togetherwith the description, serve to explain the disclosed principles. In thedrawings:

FIG. 1 is a diagram of a system built in in accordance with anembodiment of the present disclosure.

FIG. 2 is a system diagram for a system built in accordance with anembodiment of the present disclosure.

FIG. 3 is a flowchart for a process performed by a system built inaccordance with an embodiment of the present disclosure.

FIG. 4 is a system diagram for a computing device used in a system builtin accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

Disclosed herein are improved system and methods to locate and trackobjects within an environment.

In some embodiments, objects may include vehicles such as automobiles,trucks, trailers, rental equipment, snowmobiles, boats, and the like.The environment may include a parking lot, a dealership lot, a parkinggarage, a valet parking area, an airport parking location, a rental carlocation, and the like.

In some embodiments, the disclosed systems and methods may be used totrack when vehicles enter, leave, or are present within an environment.For example, the disclosed systems and methods may be used to identifytheft of vehicles, test drives and the like. Additionally, the disclosedsystems and methods may be used to determine any links betweenpositioning of a vehicle in a dealership environment and propensitytowards sales.

Notwithstanding, the disclosure may not be so limited and any otherliving and/or non-living thing may be tracked without limiting the scopeof the disclosure. For example, objects may include pets, packages,keys, wallets, robots, vehicles, carts, boxes, storage containers,shipping containers, cell phones, devices, clothing, and the like.

FIG. 1 is a diagram of an inventory system built in in accordance withan embodiment of the present disclosure. As illustrated in FIG. 1, oneor more emitters 101 may be located within an environment. In someembodiments, each of the emitters 101 may be attached to an object. Inone embodiment, the emitters 101 may emit a signal that is recorded bythe camera 103 and used to determine the location of the emitters withinthe environment. In some embodiments, the emitters may be attached tovehicles and the illustrated system may be used for vehicle inventory.

FIG. 2 is a system diagram for an system 200 built in accordance with anembodiment of the present disclosure. In some embodiments, theillustrated system 200 may be configured to determine and track thelocation of objects within an environment.

The illustrated system 200 includes a server system 205 communicativelycoupled via a network 211 to a camera device 203 and a user computingdevice 223. The server system 205 may also be communicatively coupled toa database 221. The camera device may also send and/or receive signalsfrom a locator device 201.

The locator device 201 may be configured to be placed on the objectwithin the environment. In some embodiments, the object may be avehicle. The locator device 201 may include an emitter 207 andconfiguration data 209. In some embodiments, each of a plurality oflocator devices 201 in a system 200 may emit a specific and uniquesignal via the emitter 207 in accordance with the configuration data209. For example, in some embodiments, an emitter 207 may emit a signalof a particular frequency or of a particular pattern of pulses. In someembodiments, the emitted signal may include non-visible spectrum light(e.g., infra-red light). The configuration data 209 may be configured tocorrespond with a particular object or location device 201.

The signal emitted by the emitter 207 of the locator device 201 may berecorded by the camera 213 of the camera device 203. In someembodiments, the camera 213 is configured to record the emitted signal,as well as an image of the environment. In some embodiments, the imageof the environment may be a graphical image of the environment. In someembodiments, the image of the environment may be a recording ofnon-visible light received from the environment. In some embodiments,the camera device 203 may include a decoder 215 configured to decode thereceived signal emitted from the locator device 201 and identify theobject that the received signal corresponds to. In other words, thedecoder 215 may identify the locator device 201 and/or object associatedwith the received frequency or pattern of pulses. This process may bereferred to herein as decoding. In some embodiments, the camera device203 may be a camera configured to have a 360-degree view of anenvironment and be configured to receive and/or record non-visible light(e.g., infra-red light).

In some embodiments, the decoder 215 may be located on the server system205, and the camera device 213 may transmit a non-processed recording orminimally processed recording to the server system 205 for decoding bythe decoder 215. Alternatively, in an embodiment, the camera device 203may transmit the recorded image and/or the determined correspondinglocator device 201 and/or object information to the server system 205for further processing.

The camera device 203 may communicate (send and/or receive) signals withthe server system 205 by way of a network 211. In some embodiments,network 211 may include, or operate in conjunction with, an ad hocnetwork, an intranet, an extranet, a virtual private network (VPN), alocal area network (LAN), a wireless LAN (WLAN), a wide area network(WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), theInternet, a portion of the Internet, a portion of the Public SwitchedTelephone Network (PSTN), a plain old telephone service (POTS) network,a cellular telephone network, a wireless network, a Wi-Fi® network,another type of network, or a combination of two or more such networks.

The server system 205 may receive data from the camera device 203. Thismay include data from the recorded signal from the locator device 201,and/or data reflective of the environment. In some embodiments, theserver system 205 may include an image geometry module 217 and/or anoutput module 219. The image geometry module 217 may be configured todetermine the location from which the locator device 201 is emitting asignal from within the environment.

To determine the location from which the locator device 201 is emittinga signal from within the environment, the image geometry module 217 mayuse the received data from the camera device 203 that is reflective ofthe environment. This may include a graphical image of the environment,a recording of non-visible light received from the environment, and thelike.

In some embodiments, the location from which the locator device 201 isemitting a signal from within the environment, may be determined basedon a series of images received from a plurality of camera devices 203.For example, signals received by multiple camera devices 203 from aparticular locator device 201 can be combined by the decoder 215 orimage geometry module 217 to determine the location of the locatordevice 201 within the environment.

Additionally, the received data reflective of the environment mayinclude an image of a pre-configured object within the environment. Forexample, the pre-configured object may be located a set distance (e.g.,20 feet away) at a specified location (e.g., 30 degrees away) from thecamera. Accordingly, when an image of the pre-configured object isreceived in addition to the signal from the locator device 201, theposition of the locator device 201 relative to the pre-configured objectmay be determined. Using the position of the locator device 201 relativeto the pre-configured object the image geometry module 217 may thendetermine the location of the identified object within the environment.Example pre-configured objects may include a marking on the ground, apole, an light source, and the like.

In some embodiments, calibration information for each of the cameradevices 203 in the environment, may be used by the image geometry module217 to determine the location of the camera devices 203 in theenvironment, and to determine the location of the locator devices 201within the environment depicted by the camera devices 203. For example,calibration information may include the height, elevation, geometry, andposition of the camera devices 203 within the environment. For example,the camera device 203 may have varied heights based on the location ofthe camera device 203 along a pole or a hill. Moreover, the calibrationinformation may be used to create a map of the environment based on thegeographical characteristics of the environment (e.g., elevation,terrain, etc.).

In some embodiments, the image geometry module 217 may receive a seriesof images from a camera device 203 having a 360-degree view (i.e., “a360-degree camera device”). In such an embodiment, locator devices 201located closer to the 360-degree camera device may appear larger in theobtained image than objects located farther away from the 360-degreecamera device. Moreover, in some embodiments, the image geometry module217 may determine the placement of objects on a created map of theenvironment, where the objects correspond to the locator devices 201.

The image geometry module 217 may be configured to assemble the receivedseries of images into a video sequence. The series of images may bereceived from one or more camera devices 203. In some embodiments, imagegeometry module 217 may filter the images to a particular wavelength inorder to determine the location of the identified object within theenvironment. The image geometry module 217 may then determine acorrespondence of the location of the identified object with aconfiguration file that includes the location of one or morepre-configured objects.

In some embodiments, one or more of the pre-configured reference objects(i.e., reference emitters) may also be configured to emit a particularwavelength or sequence of emissions for detection by the camera. Thereference emitters may be configured to be positioned at the bounds ofthe environment and/or preset locations. The detection of the referenceemitters at present locations and/or bounds may help in determining thelocation of identified objects within the environment by the imagegeometry module 217. In some embodiments, this may be based at leastupon relative distances between the identified objects and the referenceemitters.

In some embodiments, the image geometry module 217 may also determinethe location of objects within the environment at least based on theintensity of the signals received from the objects. For example, theintensity of the signal may be inversely related to the distance theemitting signal is from the camera device 205.

In some embodiments, the image geometry module 217 may be furtherconfigured to generate a heatmap, chart, or figure for displaying thelocation of one or more locator devices 201 in the environment. In someembodiments, the image geometry module 217 may receive a series ofimages or recordings from the camera device 203 and generate a recordingof the determined location for one or more identified objects in theenvironment over time.

In some embodiments, an output module 219 on the server system 205 maybe configured to display the determined location of the identifiedobject in the environment on a user computing device 223. In someembodiments, the output module 219 may be configured to generate areport that is specially optimized for display on an interface of a usercomputing device 223. The server system 205 may also communicate withthe user computing device 223 via the network 211. In some embodiments,the user computing device 223 may include a desktop, laptop, tablet,cell phone, and the like.

In some embodiments, the database 221 may be configured to store thedetermined location of an object in the environment. The database 221may also store historical locations for an object in the environment.The database 221 may also store information regarding objects. In anon-limiting example where the objects are vehicles, the vehicle make,model, year, manufacturer date, vehicle color, mileage, and the like maybe stored in the database 221. In some embodiments, the database 221 maystore data and information derived from the determined location ofobjects within the environment such as heatmaps, recordings, and thelike.

In some embodiments, a system may include one or more locator devices201 and one or more camera devices 203 operating constructively in anenvironment in accordance with the systems and methods described herein.

FIG. 3 is a flowchart for a process performed by a system built inaccordance with an embodiment of the present disclosure. In someembodiments, the illustrated process may be configured to determine andtrack the location of objects within an environment. As illustrated inFIG. 3, at step 301 signals having a particular frequency and/or patternmay be transmitted, for example, from a locator device 201 to a cameradevice 203. At step 303, the transmitted signals may be recorded, forexample, by a camera device such as camera device 203. At step 305, theobjects associated with the transmitted signals may be identified. Asdiscussed above, this may be done via decoder such as decoder 215located at the camera device 203 and/or the server system 205. At step307, the location of the identified object in the environment may bedetermined. As discussed above, this may be done by an image geometrymodule 217 at the server system 205.

FIG. 4 is a system diagram for a computing device used in a system builtin accordance with an embodiment of the present disclosure. FIG. 4illustrates a functional block diagram of a machine in the example formof computer system 400, within which a set of instructions for causingthe machine to perform any one or more of the methodologies, processesor functions discussed herein may be executed. In some examples, themachine may be connected (e.g., networked) to other machines asdescribed above. The machine may operate in the capacity of a server ora client machine in a client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be any special-purpose machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine for performing the functions describe herein. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein. In some examples,each of the user computing device 223, server system 205, camera device203 and/or locator device 201 of FIG. 2 may be implemented by theexample machine shown in FIG. 4 (or a combination of two or more of suchmachines).

Example computer system 400 may include processing device 403, memory407, data storage device 409 and communication interface 415, which maycommunicate with each other via data and control bus 401. In someexamples, computer system 400 may also include display device 413 and/oruser interface 411.

Processing device 403 may include, without being limited to, amicroprocessor, a central processing unit, an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA), adigital signal processor (DSP) and/or a network processor. Processingdevice 403 may be configured to execute processing logic 405 forperforming the operations described herein. In general, processingdevice 403 may include any suitable special-purpose processing devicespecially programmed with processing logic 405 to perform the operationsdescribed herein.

Memory 407 may include, for example, without being limited to, at leastone of a read-only memory (ROM), a random access memory (RAM), a flashmemory, a dynamic RAM (DRAM) and a static RAM (SRAM), storingcomputer-readable instructions 417 executable by processing device 403.In general, memory 407 may include any suitable non-transitory computerreadable storage medium storing computer-readable instructions 417executable by processing device 403 for performing the operationsdescribed herein. Although one memory device 407 is illustrated in FIG.4, in some examples, computer system 400 may include two or more memorydevices (e.g., dynamic memory and static memory).

Computer system 400 may include communication interface device 411, fordirect communication with other computers (including wired and/orwireless communication), and/or for communication with network 211 (seeFIG. 2). In some examples, computer system 400 may include displaydevice 413 (e.g., a liquid crystal display (LCD), a touch sensitivedisplay, etc.). In some examples, computer system 400 may include userinterface 411 (e.g., an alphanumeric input device, a cursor controldevice, etc.).

In some examples, computer system 400 may include data storage device409 storing instructions (e.g., software) for performing any one or moreof the functions described herein. Data storage device 409 may includeany suitable non-transitory computer-readable storage medium, including,without being limited to, solid-state memories, optical media andmagnetic media.

Although the present disclosure may provide a sequence of steps, it isunderstood that in some embodiments, additional steps may be added,described steps may be omitted, and the like. Additionally, thedescribed sequence of steps may be performed in any suitable order.

While illustrative embodiments have been described herein, the scopethereof includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations and/or alterations as would be appreciated bythose in the art based on the present disclosure. For example, thenumber and orientation of components shown in the exemplary systems maybe modified.

Thus, the foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limiting to the preciseforms or embodiments disclosed. Modifications and adaptations will beapparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments.

We claim:
 1. A method comprising: transmitting, by an emitter, a signal;recording, by a camera device, the transmitted signal and anenvironment; identifying, by at least one of the camera device and aserver system, an object associated with the recorded signal based on atleast one characteristic of the signal; and determining, by the serversystem, the location of the identified object in the environment.
 2. Themethod of claim 1, wherein the signal comprises at least one of apredefined frequency and predefined pattern.
 3. The method of claim 1,further comprising: generating, by the server system, a heat mapcomprising the determined location of the identified object in theenvironment.
 4. The method of claim 1, further comprising: generating,by the server system, a recording of the determined location of theidentified object in the environment over time.
 5. The method of claim1, wherein determining, the location of the identified object in theenvironment further comprises: imaging, by the camera device, apre-configured object within the environment; identifying, by the serversystem, the location of a pre-configured object within the environment;and determining, by the server system, the location of the recordedsignal relative to the location of the pre-configured object.
 6. Themethod of claim 1, further comprising: displaying the determinedlocation of the identified object on a user computing device.
 7. Themethod of claim 1, wherein the transmitted signal comprises non-visiblespectrum light.
 8. The method of claim 1, further comprising: storingthe determined location of the identified object in a databasecommunicatively coupled to the server system.
 9. A system comprising: anemitter configured to transmit a signal; a camera device configured torecord the transmitted signal and an environment; and a server systemcomprising at least one processor and non-transitory memory, said serversystem configured to determine the location of an object associated withthe recorded signal within the environment.
 10. The system of claim 9,wherein the signal comprises at least one of a predefined frequency anda predefined pattern.
 11. The system of claim 9, wherein at least one ofthe camera device and the server system is configured to determine theobject associated with the recorded signal.
 12. The system of claim 9,further comprising: a database configured to store the determinedlocation of the object associated with the recorded signal within theenvironment.
 13. The system of claim 9, further comprising: a userinterface configured to display the determined location of the objectassociated with the recorded signal.
 14. The system of claim 9, whereinthe server system is further configured to generate at least one of aheat map comprising the determined location of the object and arecording of the determined location of the object over time.
 15. Thesystem of claim 9, wherein the transmitted signal comprises non-visiblespectrum light.
 16. A method comprising: receiving, by a server, arecorded signal from a camera device; receiving, by the server, arecording of an environment; and determining, by the server, thelocation of an identified object within the environment based on thereceived recorded signal and recording of the environment.
 17. Themethod of claim 16, further comprising: identifying, by the server, anobject associated with the recording signal based on at least one of apredefined frequency and a predefined pattern.
 18. The method of claim16, further comprising: generating, by the server, at least one of aheat map comprising the determined location of the object and arecording of the determined location of the object over time.
 19. Themethod of claim 16, wherein the recorded signal comprises non-visiblespectrum light.
 20. The method of claim 16, wherein the identifiedobject is a vehicle.